Program pulses may be used to program a memory cell. In using program pulses, shorter (and faster) program pulses may be desirable. The maximum speed (and minimum duration) of such pulses may be improved by using better quality metals for bit lines and word lines leading to memory cells, shortening the length of the bit lines, and adding switches to memory arrays to reduce capacitance on the bit lines. However, these previous approaches may not be possible or desirable for all types of memory arrays including 3D memory arrays (e.g., diode matrix arrays). Thus, what are needed are methods and apparatus for creating short program pulses in memory arrays.